#ifndef IEDITOR_H
#define IEDITOR_H

#include <QtCore/QSharedPointer>

class IDocument;

class IEditor
{
public:
    virtual void open(const QSharedPointer<IDocument>& document) = 0;
    virtual void close(const QSharedPointer<IDocument>& document) = 0;

    virtual QSharedPointer<IDocument> document() const = 0;
    virtual QWidget* widget() const = 0;

    virtual void registerFocusListener(QObject* object) = 0;
    virtual void unregisterFocusListener(QObject* object) = 0;

    virtual ~IEditor() {}
};

#endif
